// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See VRISCV_BOARD.h for the primary calling header

#include "verilated.h"
#include "verilated_dpi.h"

#include "VRISCV_BOARD__Syms.h"
#include "VRISCV_BOARD___024root.h"

#ifdef VL_DEBUG
VL_ATTR_COLD void VRISCV_BOARD___024root___dump_triggers__stl(VRISCV_BOARD___024root* vlSelf);
#endif  // VL_DEBUG

VL_ATTR_COLD void VRISCV_BOARD___024root___eval_triggers__stl(VRISCV_BOARD___024root* vlSelf) {
    if (false && vlSelf) {}  // Prevent unused
    VRISCV_BOARD__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
    VL_DEBUG_IF(VL_DBG_MSGF("+    VRISCV_BOARD___024root___eval_triggers__stl\n"); );
    // Body
    vlSelf->__VstlTriggered.at(0U) = (0U == vlSelf->__VstlIterCount);
    vlSelf->__VstlTriggered.at(1U) = ((IData)(vlSelf->RISCV_BOARD__DOT__cpu__DOT__id_stage__DOT__imm_sel) 
                                      != (IData)(vlSelf->__Vtrigrprev__TOP__RISCV_BOARD__DOT__cpu__DOT__id_stage__DOT__imm_sel));
    vlSelf->__Vtrigrprev__TOP__RISCV_BOARD__DOT__cpu__DOT__id_stage__DOT__imm_sel 
        = vlSelf->RISCV_BOARD__DOT__cpu__DOT__id_stage__DOT__imm_sel;
    if (VL_UNLIKELY((1U & (~ (IData)(vlSelf->__VstlDidInit))))) {
        vlSelf->__VstlDidInit = 1U;
        vlSelf->__VstlTriggered.at(1U) = 1U;
    }
#ifdef VL_DEBUG
    if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) {
        VRISCV_BOARD___024root___dump_triggers__stl(vlSelf);
    }
#endif
}
